home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t7.d64 / c64 book sort.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  9KB  |  307 lines

  1. 10 POKE 53281,1
  2. 20 GOSUB 1560
  3. 30 REM COM-64 BOOK SORT BY PATRICK GROTE 11706 DEVONSHIRE AVE. ST.LOUIS,MO63131
  4. 40 PRINTCHR$(142):POKE 53281,0:POKE 53280,6:POKE 664,1
  5. 50 POKE 36879,93:READR$,R:FORI=1TOR:READO$(I):NEXT:DATA"COM-64 BOOK SORT  "
  6. 60 DATA8,"TITLE","AUTHOR(S)","I.S.B.N. NUMBER","CATALOG NUMBER"
  7. 70 DATA "SHORT DESCRIPTION","PRICE (IF APPLICABLE","PUBLISHER","RATING"
  8. 80 PRINT"[147][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":PRINT"[221]" R$" [221]":PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  9. 90 PRINT"1. ADD BOOK":PRINT"2. REMOVE A BOOK":PRINT"3. SEARCH FOR A BOOK"
  10. 100 PRINT"4. EXAMINE A BOOK":PRINT"5. CHANGE A BOOK":PRINT"6. SAVE NEW DATA"
  11. 110 PRINT"7. PRINT FILES":PRINT"8. END"
  12. 120 RESTORE:PRINT"          WHICH DO YOU WANT?"
  13. 130 GETA$:IFA$=""THEN 130
  14. 140 IFA$<"1"ORA$>"8"THEN 130
  15. 150 READB$:IFB$<>"[220]"THEN 140
  16. 160 A=VAL(A$):ONA GOTO 180,230,260,360,430,440,460,450
  17. 170 POKE198,10:FORI=0TO9:POKE631+I,13:NEXT:END
  18. 180 READA$:IFA$<>"[166]"THEN 180
  19. 190 READA:PRINT"[147]INPUT 0 FOR UNKNOWNS"
  20. 200 PRINT"ITEM : "A"":FORI=1TOR:PRINTO$(I):INPUTW$(I):PRINT:IFW$(1)=""THEN 80
  21. 210 NEXT:W$(0)="XX"+CHR$(34)+","+STR$(A):Z=A*10+500:K=0:PRINT"[147]"
  22. 220 FORI=Z TOZ+R:PRINTI;"DATA"CHR$(34)W$(K):K=K+1:NEXT:PRINT"RUN30":GOTO 170
  23. 230 B$="":PRINT"[147]WHICH ITEM TO REMOVE":INPUTB$:IFVAL(B$)=0THEN80
  24. 240 PRINT "[147]":Z=VAL(B$)*10+500:PRINTZ"DATA"CHR$(34)"[166]"CHR$(34)","VAL(B$)
  25. 250 FORI=Z+1TOZ+R:PRINTI:NEXT:PRINT"RUN8":GOTO 170
  26. 260 INPUT"[147]SEARCH FOR ";B$:IFB$=""THEN80
  27. 270 H=0:READA$:IFA$="END"THEN 80
  28. 280 IF A$="[166]"THEN READA:GOTO 270
  29. 290 READA:FORI=1TOR:READA$(I):IFLEFT$(A$(I),LEN(B$))=B$THEN H=1
  30. 300 NEXT:IFH=0THEN 270
  31. 310 PRINT"[147]ITEM : "A"":FORI=1TOR:PRINT"  "A$(I):NEXT:IFW=1THENRETURN
  32. 320 PRINT"HIT ANY KEY TO PROCEED"
  33. 330 GETA$:IFA$=""THEN330
  34. 340 IFQ=1THEN RETURN
  35. 350 GOTO270
  36. 360 A$="":INPUT "[147]WHICH ITEM ";A$:IFA$="."THEN 80
  37. 370 A=VAL(A$):IFA=0THEN80
  38. 380 READA$:IFA$="END"THEN80
  39. 390 IFA<>VAL(A$)THEN 380
  40. 400 READ A$(1):IFA$(1)="[166]"THEN80
  41. 410 FORI=2TOR:READA$(I):NEXT:Q=1:GOSUB310:Q=0:IFW=1THEN RETURN
  42. 420 GOTO 80
  43. 430 W=1:GOSUB360:W=0:PRINT"[147]":FORI=1TOR:INPUTW$(I):GOTO 210
  44. 440 PRINT"[147]":SAVE"@0:"+R$,8:END
  45. 450 END
  46. 460 PRINT"[147]   PRINTER OPTIONS   "
  47. 470 PRINT "1[146] ENTIRE LIST OF FILES"
  48. 480 PRINT "2[146] INDIVIDUAL BOOKS DATA"
  49. 490 PRINT "3[146] INDIVIDUAL BOOKS"
  50. 500 PRINT "4[146] SINGLE PART OF FILE"
  51. 510 PRINT "5[146] RETURN TO PROGRAM"
  52. 520 GET Z$:IFZ$=""THEN 520
  53. 530 Z=VAL(Z$)
  54. 540 IFZ<1ORZ>5 THEN 460
  55. 550 OPEN1,4:RESTORE
  56. 560 ONZGOTO580,680,750,750
  57. 570 GOTO 80
  58. 580 READB$:IFB$<>"[220]"THEN580
  59. 590 READ B$:IFB$="[166]"THENCLOSE1:GOTO 80
  60. 600 IF B$="XX"THEN READA:PRINT#1,CHR$(10)CHR$(10)"ITEM";A:GOSUB 630:GOTO590
  61. 610 PRINT#1,B$
  62. 620 GOTO 590
  63. 630 READB$:FORI=1TO50
  64. 640 IFMID$(B$,I,1)=" "THEN X=I:I=50
  65. 650 NEXTI
  66. 660 N2$=LEFT$(B$,X):N1$=RIGHT$(B$,LEN(B$)-X):PRINT#1
  67. 670 PRINT#1,N1$;" ";N2$:RETURN
  68. 680 READB$:IFB$<>"[220]"THEN680
  69. 690 READB$:IFB$="[166]"THENCLOSE1:GOTO 80
  70. 700 IF B$<>"XX"THEN680
  71. 710 READA:PRINT#1,CHR$(10):GOSUB 630:GOSUB720:GOTO690
  72. 720 FOR I=1TO4:READA$(I):NEXT
  73. 730 PRINT#1,A$(1):PRINT#1A$(2);", ";A$(3);"   ";A$(4)
  74. 740 RETURN
  75. 750 INPUT"[147]WHICH ITEM ";Q:RESTORE
  76. 760 READB$:IFB$<>"[220]"THEN 760
  77. 770 NEXTX:CLOSE1:GOTO 80
  78. 780 IFB$<>"XX"THENREADA:IFA=QTHEN800
  79. 790 GOTO 65535
  80. 800 PRINT#1,CHR$(10)CHR$(10)"ITEM";A:GOSUB630
  81. 810 IFZ=4THEN830
  82. 820 FORX=1TOR-1:READB$:PRINT#1,B$:NEXT:CLOSE1:GOTO460
  83. 830 GOSUB720:CLOSE1:GOTO460
  84. 840 DATA "[220]"
  85. 850 DATA"[166]", 1
  86. 860 DATA"[166]", 2
  87. 870 DATA"[166]", 3
  88. 880 DATA"[166]", 4
  89. 890 DATA"[166]", 5
  90. 900 DATA"[166]",6
  91. 910 DATA"[166]", 7
  92. 920 DATA"[166]", 8
  93. 930 DATA"[166]", 9
  94. 940 DATA"[166]", 10
  95. 950 DATA"[166]", 11
  96. 960 DATA"[166]", 12
  97. 970 DATA"[166]", 13
  98. 980 DATA"[166]", 14
  99. 990 DATA"[166]", 15
  100. 1000 DATA"[166]", 16
  101. 1010 DATA"[166]", 17
  102. 1020 DATA"[166]", 18
  103. 1030 DATA"[166]", 19
  104. 1040 DATA"[166]", 20
  105. 1050 DATA"[166]", 21
  106. 1060 DATA"[166]", 22
  107. 1070 DATA"[166]", 23
  108. 1080 DATA"[166]", 24
  109. 1090 DATA"[166]", 25
  110. 1100 DATA"[166]", 26
  111. 1110 DATA"[166]", 27
  112. 1120 DATA"[166]", 28
  113. 1130 DATA"[166]", 29
  114. 1140 DATA"[166]", 30
  115. 1150 DATA"[166]", 31
  116. 1160 DATA"[166]", 32
  117. 1170 DATA"[166]", 33
  118. 1180 DATA"[166]", 34
  119. 1190 DATA"[166]", 35
  120. 1200 DATA"[166]", 36
  121. 1210 DATA"[166]", 37
  122. 1220 DATA"[166]", 38
  123. 1230 DATA"[166]", 39
  124. 1240 DATA"[166]", 40
  125. 1250 DATA"[166]", 41
  126. 1260 DATA"[166]", 42
  127. 1270 DATA"[166]", 43
  128. 1280 DATA"[166]", 44
  129. 1290 DATA"[166]", 45
  130. 1300 DATA"[166]", 46
  131. 1310 DATA"[166]", 47
  132. 1320 DATA"[166]", 48
  133. 1330 DATA"[166]", 49
  134. 1340 DATA"[166]", 50
  135. 1350 DATA"[166]", 51
  136. 1360 DATA"[166]", 52
  137. 1370 DATA"[166]", 53
  138. 1380 DATA"[166]", 54
  139. 1390 DATA"[166]", 55
  140. 1400 DATA"[166]", 56
  141. 1410 DATA"[166]", 57
  142. 1420 DATA"[166]", 58
  143. 1430 DATA"[166]", 59
  144. 1440 DATA"[166]",60
  145. 1450 DATA"[166]",61
  146. 1460 DATA"[166]",62
  147. 1470 DATA"[166]",63
  148. 1480 DATA"[166]",64
  149. 1490 DATA"[166]",65
  150. 1500 DATA"[166]",66
  151. 1510 DATA"[166]",67
  152. 1520 DATA"[166]",68
  153. 1530 DATA"[166]",69
  154. 1540 DATA"[166]",70
  155. 1550 DATA"END"
  156. 1560 PRINT"[147]":GOSUB 1680:FORJ=1TO7:PRINT:NEXT:PRINTCHR$(05);CHR$(05):PRINTCHR$(142)
  157. 1570 POKE53281,0:A=1234:FORJ=0TO18:POKEA+J,127
  158. 1580 NEXT:FORJ=0TO10:POKEA+18+40*J,127
  159. 1590 NEXT:FORJ=0TO10:POKEA+40*J,127
  160. 1600 NEXT:FORJ=0TO18:POKEA+400+J,127
  161. 1610 FORJ=0TO18:POKEA+400+J,127:NEXT
  162. 1620 GOSUB 1680
  163. 1630 PRINTTAB(13);"[145][145][157]PATRICK GROTE
  164. 1640 [153][163]13);"CMDPROUDLY
  165. 1650 PRINTTAB(13);"[157]PRESENTS
  166. 1660 [153][163]13);"CMDCOM 64 BOOK SORT
  167. 1670 FORW=1TO4000:NEXT:GOTO 2060
  168. 1680 FORL=1TO1000:NEXT:RETURN
  169. 1690 PRINTCHR$(142):PRINT"[147]COM-64 MAIN MENU"
  170. 1700 PRINT"1. CREATE SUBJECTS
  171. 1710 [153]"2. IMMEDIATLEY BEGIN PROGRAM
  172. 1720 PRINT"3. RETURN TO INTRODUCTION
  173. 1730 [153]"4. TERMINATE PROGRAM
  174. 1740 GETA$:IFA$=""THEN1740
  175. 1750 IFA$="1"THEN 1790
  176. 1760 IFA$="2"THEN 30
  177. 1770 IFA$="3"THEN 2060
  178. 1780 IFA$="4"THEN SYS64738
  179. 1790 PRINT"[147]"
  180. 1800 INPUT"WHAT IS YOUR NAME";N$
  181. 1810 PRINT"[147]"
  182. 1820 PRINT"[145]DIRECTORY OF ";N$;"'S SUBJECTS :"
  183. 1830 PRINT"BELOW IS A LIST OF SUBJECTS FOR YOU TO"
  184. 1840 PRINT"SELECT FROM. PLEASE ";N$" CHOOSE SIX."
  185. 1850 PRINT"BIOLOGY","MATHMATICS"
  186. 1860 PRINT"COMPUTER SCIENCE";"ACCOUNTING"
  187. 1870 PRINT"BUSINESS";"THEOLOGY"
  188. 1880 PRINT"ENGINERING";"PHYSICS"
  189. 1890 PRINT"CHEMISTRY";"FORIEGN LANGUAGES"
  190. 1900 PRINT"EDUCATIONAL";"RECREATIONAL"
  191. 1910 PRINT"PLEASE INPUT SIX SUBJECTS ONE AT A TIME":INPUT U$,V$,W$,X$,Y$,Z$
  192. 1920 PRINT"ALL ARE THE ABOVE SATISFACTORY ?"
  193. 1930 GETS$:IFS$=""THEN 1930
  194. 1940 IFS$="N"THEN1910
  195. 1950 PRINT"[147]COM-64 SUB1 MENU"
  196. 1960 PRINT"1.";U$
  197. 1970 PRINT"2.";V$
  198. 1980 PRINT"3.";W$
  199. 1990 PRINT"4.";X$
  200. 2000 PRINT"5.";Y$
  201. 2010 PRINT"6.";Z$
  202. 2020 PRINT"WHICH TOPIC WOULD YOU LIKE "
  203. 2030 PRINT"TO CREATE A FILE FOR TODAY ";N$
  204. 2040 INPUT R
  205. 2050 PRINT"[144]":GOTO 30
  206. 2060 PRINT"[147]":PRINTCHR$(14):PRINTCHR$(8)
  207. 2070 PRINT"[147][212]O SKIP INSTRUCTIONS HIT 'S'"
  208. 2080 GETA$:IFA$=""THEN2080
  209. 2090 IFA$="S"THEN1690
  210. 2100 IFA$<>"S"THEN 2110
  211. 2110 PRINT"[147][145][145][145][201][206][212][210][207][196][213][195][212][201][207][206][160][212][207][160][195][207][205]-64 [194][207][207][203][160][211][207][210][212]"
  212. 2120 PRINT"[195][207][205]-64 [194][207][207][203] [211][207][210][212][146] WAS MADE FOR EVERYONE"
  213. 2130 PRINT"FROM THE VERY BUSY EXECUTIVE WHO WOULD"
  214. 2140 PRINT"LIKE TO FINALLY SORT ALL THE BOOKS OFF"
  215. 2150 PRINT"THAT DUSTY BOOK SHELF TO THE STUDIOUS"
  216. 2160 PRINT"STUDENT WHO HAS TO FIND THAT MATH BOOK"
  217. 2170 PRINT"IN THE PILES UPON PILES OF BOOKS. [206]O"
  218. 2180 PRINT"MATTER WHAT TYPE OR NUMBER OF BOOKS YOU"
  219. 2190 PRINT"HAVE TO BE SORTED, THE [195][207][205]-64 [194][207][207][203][160][211][207][210][212][146]"
  220. 2200 PRINT"CAN HANDLE THE JOB. [212]HIS SOFTWARE ALSO"
  221. 2210 PRINT"INCLUDES THE OPTION OF NOT JUST BEING"
  222. 2220 PRINT"ABLE TO PRINT THE WHOLE LIST, BUT TO "
  223. 2230 PRINT"BE ABLE TO PRINT SPECIFIED PARTS OR"
  224. 2240 PRINT"SECTIONS OF THE LIST."
  225. 2250 PRINT"PRESS SPACE BAR TO CONTINUE"
  226. 2260 GETA$:IFA$<>" "THEN2260
  227. 2270 PRINT"[147][208][193][199][197][160][207][206][197]"
  228. 2280 PRINT"[215]HEN USING THIS PROGRAM WE CAN KEEP IN"
  229. 2290 PRINT"MIND THE FAMOUS QUOTE FROM AN UNKNOWN"
  230. 2300 PRINT"AUTHOR, '[212]HE WILL TO PERSEVERE IS OFTEN"
  231. 2310 PRINT"THE DIFFFRENCE BETWEEN FAILURE AND THE "
  232. 2320 PRINT"ACHIEVMENT OF SUCCESS.[146]'"
  233. 2330 PRINT"[212]O APPLY THIS QUOTE TO SOFTWARE WILL DO"
  234. 2340 PRINT"YOU A WHOLE LOT OF GOOD. [198]OR IF YOU ARE"
  235. 2350 PRINT"GIVE-UP ON THIS SOFTWARE THEN YOU HAVE"
  236. 2360 PRINT"ACCOMPLISHED NOTHING,BUT IF ONE WERE TO"
  237. 2370 PRINT"PERSEVERE THROUGH THE TASKS HE WOULD"
  238. 2380 PRINT"ACCOMPLISH A WORLD OF GOOD FOR HIMSELF."
  239. 2390 PRINT"PRESS SPACE BAR TO CONTINUE"
  240. 2400 GETB$:IFB$<>" "THEN2400:END
  241. 2410 PRINT"[147][208][193][199][197][160][212][215][207]"
  242. 2420 PRINT"[206]OW WE WILL PREVIEW EACH COMMMAND ON"
  243. 2430 PRINT"THE BOOK SORT MENU OF[195][207][205]-64[160][194][207][207][203][160][211][207][210][212][146]:":FORT=1TO3000:NEXT
  244. 2440 PRINT"[193][196][196][160][193][160][194][207][207][203][146]           [212]HIS COMMAND WILL"
  245. 2450 PRINT"                    ENABLE YOU TO ADD"
  246. 2460 PRINT"                    A BOOK TO YOUR DATA"
  247. 2470 PRINT"                    STATEMENTS."
  248. 2480 PRINT"[210][197][205][207][214][197][160][193][160][194][207][207][203][146]        [212]HIS COMMAND WILL"
  249. 2490 PRINT"                    ERASE ANY ITEM FROM"
  250. 2500 PRINT"                    YOUR EXISTING DATA"
  251. 2510 PRINT"                    STATEMENTS."
  252. 2520 PRINT"[211][197][193][210][195][200][160][198][207][210][160][193][160][194][207][207][203][146]    [212]HIS COMMAND WILL"
  253. 2530 PRINT"                    ALLOW YOU TO SEARCH"
  254. 2540 PRINT"                    FOR ANY BOOK BY THE"
  255. 2550 PRINT"                    WORDS YOU INPUT."
  256. 2560 PRINT"PRESS SPACE BAR TO CONTINUE[146]"
  257. 2570 GETA$:IFA$<>" "THEN 2570
  258. 2580 PRINT"[147]":PRINTTAB(30)"[145][208][193][199][197][160][212][200][210][197][197]"
  259. 2590 PRINT"CONTINUING......":FORT=1TO3000:NEXTT
  260. 2600 PRINT"[197][216][193][205][201][206][197][160][193][160][194][207][207][203][146]         [212]HIS COMMAND WILL"
  261. 2610 PRINT"[145]                      ALLOW FOR YOU TO"
  262. 2620 PRINT"                      PEEK AT ANY ONE"
  263. 2630 PRINT"                      DATA STATEMENT."
  264. 2640 PRINT"[195][200][193][206][199][197][160][193][160][194][207][207][203][146]          [212]HIS COMMAND WILL"
  265. 2650 PRINT"[145]                      ALLOW FOR YOU TO"
  266. 2660 PRINT"                      CHANGE ANY DATA "
  267. 2670 PRINT"                      STATEMENT THAT YOU
  268. 2680 [153]"ON                      WOULD LIKE TOO,BY"
  269. 2690 [153]"                      JUST PRESSING A  "
  270. 2700 [153]"                      SINGLE BUTTON."
  271. 2710 [153]"PRESS SPACE BAR TO CONTINUE"
  272. 2720 [161]B$:[139]B$[179][177]" "[167]2720
  273. 2730 [153]"LOADCONTINUING....."
  274. 2740 [153]"ONONONON(null)ATNCHR$VALCLOSEASC(null)(null)(null)"
  275. 2750 [129]T[178]1[164]2000:[130]T
  276. 2760 [153]"(null)ATN(null)VALCLOSESTR$ATN(null)ATNCLOSE(null)(null)CLOSESTR$RIGHT$(null)(null)WAIT      (null)HIS COMMAND WILL"
  277. 2770 [153]"                      ONALLOW THE USER TO"
  278. 2780 [153]"                      SAVE ANY NEW DATA"
  279. 2790 [153]"                      THAT HE/SHE HAS"
  280. 2800 [153]"                      ENTERED."
  281. 2810 [153]"(null)(null)RIGHT$(null)(null) STR$ATN(null)ATNCLOSE(null)(null)CLOSE(null)(null)RIGHT$(null)(null)VAL(null)WAIT  (null)HIS COMMAND WILL"
  282. 2820 [153]"ON                      ALLOW THE USER"
  283. 2830 [153]"                      TO PRINT OUT THE"
  284. 2840 [153]"                      DIFFERNT TYPES"
  285. 2850 [153]"                      OF DATA."
  286. 2860 [153]"PRESS SPACE BAR TO CONTINUE"
  287. 2870 [161]B$:[139]B$[179][177]" "[167] 2870
  288. 2880 [153]"LOAD(null)ATNCHR$VALCLOSEASCRIGHT$(null)VAL"
  289. 2890 [153]"     (null)HEN ENCOUNTER YOUR FIRST OPTION"
  290. 2900 [153]"MENU THERE WILL BE FOUR OPTIONS FOR YOU"
  291. 2910 [153]"TO CHOOSE FROM WE WILL DISCUSS ONE:"
  292. 2920 [153] "LEN(null)VALATN(null)VALCLOSE(null)(null)PEEKMID$VALLEN(null)(null)"
  293. 2930 [153] "(null)HIS WILL IMMEDIATLY PRINT A TABLE ON "
  294. 2940 [153]"THE SCREEN. ASCROM THIS YOU ARE ASKED TO "
  295. 2950 [153]"CHOOSE WHICH YOU WOULD LIKE AS SUBJECTS."
  296. 2960 [153]"ONATN MAXIMUM OF SIX MAY BE CHOOSEN, BUT YOU"
  297. 2970 [153]"ONMUST ENTER AT LEAST ONE, OR ELSE THE "
  298. 2980 [153]"PROGRAM WILL BE TERMINATED. PEEKY NO MEANS"
  299. 2990 [153]"ARE YOU FORCED TO USE THE SUBJECTS. (null)HE"
  300. 3000 [153]"SUBJECTS ARE THERE FOR SUGGESTION. RIGHT$F "
  301. 3010 [153]"YOU WOULD LIKE TO USE A SUBJECT NOT ON "
  302. 3020 [153]"THE TABLE, JUST ENTER THE SUBJECT(S) "
  303. 3030 [153]"THAT YOU WOULD LIKE."
  304. 3040 [153]"PRESS SPACE BAR TO CONTINUE"
  305. 3050 [161]B$:[139]B$[179][177]" "[167]3050
  306. 3060 [137] 1690
  307.